// 引入axios
import axios from "axios";

var instance = axios.create();
instance.interceptors.request.use(
    function (config) {
        // 在发送请求之前做些什么
        return {
            ...config,
            headers: {
                ...config.headers,
                token: localStorage.getItem("token")
                    ? localStorage.getItem("token")
                    : null,
            },
        };
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
instance.interceptors.response.use(
    function (response) {
        // 对响应数据做点什么
        switch (response.data.status) {
            // case 200:
            //     alert(response.data.msg);
            //     break;
            case 404:
                alert("没有这个接口");
                break;
            case 417:
                alert(response.data.msg);
                break;
            case 500:
                alert("服务器报错");
                break;
            default:
                break;
        }
        return response;
    },
    function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
    }
);

export default instance;

// const createRequest = () => {
//     // 处理无响应
//     const HttpAxios = axios.create({
//         baseURL: '',
//         timeout: 10000,
//     });

//     // 请求前
//     HttpAxios.interceptors.request.use(function (config) {
//         return {
//             ...config,
//             headers: {
//                 ...config.headers,
//             }
//         }
//       }, function (error) {
//         return Promise.reject(error);
//       });
    
//     // 请求结果
//     HttpAxios.interceptors.response.use(function (res) {
//         // 错误信息
//         if(res.data.msg === 'FAIL')
//         {
//             alert(res.data.msg);
//             return Promise.reject(res.data);
//         }
//         return res.data
//       }, function (error) {
//         // 无响应处理
//         if(error.code === 'ECONNABORTED')
//         {
//             alert('您的网络有问题，请刷新重试')
//             return Promise.reject(error);
//         }
//         alert(error.response.data.msg || error.response.statusText)
//         return Promise.reject(error);
//       });
//       return HttpAxios;
// }
// export default createRequest